﻿using System.ServiceModel;

namespace Coding4Fun.Cannon.Wcf
{
	// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "ISettingsService" in both code and config file together.
	[ServiceContract]
	public interface ISettingsService
	{
		[OperationContract]
		string GetOverheadCameraUri();

		[OperationContract]
		string GetDriveCameraUri();

		//[OperationContract]
		//void SetOverheadCameraUri(string uri);

		//[OperationContract]
		//void SetDriveCameraUri(string uri);
		
		#region Aim Velocity
		[OperationContract]
		double GetAimPanVelocity();
		[OperationContract]
		double GetAimTiltVelocity();

		//[OperationContract]
		//void SetAimPanVelocity(double velocity);
		//[OperationContract]
		//void SetAimTiltVelocity(double velocity);
		#endregion
		#region min / max
		[OperationContract]
		double GetAimPanMinAngle();
		[OperationContract]
		double GetAimPanMaxAngle();

		[OperationContract]
		double GetAimTiltMinAngle();
		[OperationContract]
		double GetAimTiltMaxAngle();

		[OperationContract]
		double GetAimFiringTiltAngle();

		//[OperationContract]
		//void SetAimTiltMinAndMaxAngles(double minAngle, double maxAngle);
		//[OperationContract]
		//void SetAimPanMinAndMaxAngles(double minAngle, double maxAngle);
		#endregion
		
		//[OperationContract]
		//void SetDriveMaxPower(int power);
		//[OperationContract]
		//void SetDriveMaxPowerByMotor(int leftPower, int rightPower);

		[OperationContract]
		int GetDriveMaxPowerLeftMotor();
		[OperationContract]
		int GetDriveMaxPowerRightMotor();

		[OperationContract]
		string GetDriveComport();
		//[OperationContract]
		//void SetDriveComport(string value);
	}
}
